package com.eastfair.venueservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.venueservice.dto.VenueDrawingCategoryAuditDTO;
import com.eastfair.venueservice.entity.VenueDrawingCategoryAudit;
import com.eastfair.venueservice.vo.VenueDrawingCategoryAuditVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 一键报馆图纸分类审核记录
 * </p>
 *
 * @author dq
 * @date 2022-10-31
 */
@Deprecated
public interface VenueDrawingCategoryAuditService extends SuperService<VenueDrawingCategoryAudit> {

    /**
     * 查询一键报馆图纸分类列表VO.
     *
     * @param pageParams the page params
     * @return the page
     */
    Page<VenueDrawingCategoryAuditVO> listVenueDrawingCategoryAuditVO(PageParams<VenueDrawingCategoryAuditDTO> pageParams);

    /**
     * 查询一键报馆图纸分类列表.
     *
     * @param pageParams the page params
     * @return the page
     */
    Page<VenueDrawingCategoryAudit> listVenueDrawingCategoryAudit(PageParams<VenueDrawingCategoryAuditDTO> pageParams);

    /**
     * 查询一键报馆图纸分类列表.
     *
     * @param query the query
     * @return the list
     */
    List<VenueDrawingCategoryAudit> listVenueDrawingCategoryAudit(VenueDrawingCategoryAuditDTO query);

    /**
     * id 查询报馆图纸审核记录VO.
     *
     * @param id the id
     * @return the vo by id
     */
    VenueDrawingCategoryAuditVO getVOById(Long id);

    /**
     * 保存报馆图纸审核记录.
     *
     * @param param the venue drawing category audit dto
     * @return the venue drawing category audit
     */
    VenueDrawingCategoryAudit saveVenueDrawingCategoryAudit(VenueDrawingCategoryAuditDTO param);

    /**
     * 提交报馆图纸审核记录.
     *
     * @param param the venue drawing category audit dto
     * @return the boolean
     */
    boolean submitVenueDrawingCategoryAudit(VenueDrawingCategoryAuditDTO param);

    /**
     * 更新报馆图纸审核记录.
     *
     * @param param the venue drawing category audit dto
     * @return the venue drawing category audit
     */
    VenueDrawingCategoryAudit updateVenueDrawingCategoryAudit(VenueDrawingCategoryAuditDTO param);

    /**
     * 审核图纸.
     *
     * @param param the venue drawing category audit dto
     * @return the boolean
     */
    boolean auditVenueDrawing(VenueDrawingCategoryAuditDTO param);

    /**
     * 批量审核图纸.
     *
     * @param list the list
     * @return the boolean
     */
    boolean auditBatchVenueDrawing(List<VenueDrawingCategoryAuditDTO> list);

    /**
     * 报馆ID移除展厅中图纸分类ID指定的报馆审核记录.
     *
     * @param venueReportId 报馆ID
     * @param spaceCode     展厅编码
     * @param drawingId     图纸分类id
     * @return the boolean
     */
    boolean removeByVenueReportId(Long venueReportId, String spaceCode, Long drawingId);
}
